home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol049 / config.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  14.8 KB  |  356 lines

  1. 1 ' WARNING !!! DO NOT CHANGE, BYPASS OR REMOVE LINES 25-44
  2. 2 ' CONFIG.BAS (RBBS-PC ver. CPC11.2)
  3. 3 REM $LINESIZE: 132
  4. 4 'by D. Thomas Mack
  5. 5 '   The Second Ring
  6. 6 '   10210 Oxfordshire Road
  7. 7 '   Great Falls, Virginia 22066
  8. 8 '
  9. 9 ' *******************************NOTICE*************************************
  10. 10 ' *  A limited license is granted to all users of this program and it's   *
  11. 11 ' *  companion program, RBBS-PC (ver. CPC11.2), to make copies of this    *
  12. 12 ' *  program and distribute the copies to other users, on the following   *
  13. 13 ' *  conditions:                                                          *
  14. 14 ' *    1.   The notices contained in lines 25 through 44 of the programs  *
  15. 15 ' *         are not altered, bypassed, or removed.                        *
  16. 16 ' *    2.   The program is not to be disrtibuted to others in modified    *
  17. 17 ' *         form (i.e. the line numbers must remain the same).            *
  18. 18 ' *    3.   No fee is to be charged (or any other consideration received) *
  19. 19 ' *         for coping or distributing these programs without an express  *
  20. 20 ' *         written agreement with D. Thomas Mack, The Second Ring, 10210 *
  21. 21 ' *         Oxfordshire Road, Great falls, Virginia 22006                 *
  22. 22 ' *                                                                       *
  23. 23 ' *   Copyright (c) 1983 D. Thomas Mack, The Second Ring                  *
  24. 24 ' *************************************************************************
  25. 25 SCREEN 0,1,0:WIDTH 80:CLS:KEY OFF:LOCATE ,,0
  26. 26 PRINT TAB(60)"tm":PRINT TAB(16) STRING$(15,205)" U S E R W A R E "STRING$(15,205)
  27. 27 PRINT:PRINT TAB(17)"Capital PC User Group User-Supported Software":PRINT:PRINT TAB(7) CHR$(214)STRING$(62,196)CHR$(183)
  28. 28 FOR I=1 TO 12:READ A$:PRINT TAB(7) CHR$(186);A$;SPACE$(62-LEN(A$));CHR$(186):NEXT
  29. 29 PRINT TAB(7) CHR$(211)STRING$(62,196)CHR$(189):PRINT TAB(27)"Copyright (c) 1983 Capital PC User Group"
  30. 30 DATA"    If you are using RBBS-PC CPC11.2 and find it of value, I
  31. 31 DATA"    would like to suggest you consider a $6 contribution to
  32. 32 DATA"
  33. 33 DATA"                 Capital PC Software Exchange
  34. 34 DATA"                     Post Office Box 6128
  35. 35 DATA"                Silver Spring, Maryland  20906
  36. 36 DATA"
  37. 37 DATA"    Feel free to copy and share RBBS-PC CPC11 with other
  38. 38 DATA"    users on these three conditions:
  39. 39 DATA"    1.  RBBS-PC CPC11 is not distributed in modified form.
  40. 40 DATA"    2.  No fee or consideration is charged.
  41. 41 DATA"    3.  This notice is not bypassed or removed.
  42. 42 DEF FNTI!=CSNG(FIX((VAL(MID$(TIME$,1,2))*60*60)+(VAL(MID$(TIME$,4,2))*60)+(VAL(MID$(TIME$,7,2))*1))) ' CPC10
  43. 43 IWAIT!=FNTI!+5
  44. 44 IF FNTI!<IWAIT! THEN LOCATE 23,15:PRINT TIME$;" ";:COLOR 0,7:PRINT " Reading Data, Wait a sec !!! ";:COLOR 7,0:GOTO 44
  45. 99 ' *************************************************************************
  46. 1000 DEFINT A-Z:DIM A$(5)
  47. 1100 ON ERROR GOTO 27900
  48. 1200 FALSE=0
  49. 1300 TRUE=NOT FALSE
  50. 1400 CONFIG$="RBBS-PC.DEF"
  51. 1500 NEWFILE=-1
  52. 1600 MESSAGES$="MESSAGES"
  53. 1700 MESSAGES.BAK$="MESSAGES.BAK"
  54. 1800 CALLERS$="CALLERS"
  55. 1900 COMMENTS$="COMMENTS"
  56. 2000 USERS$="USERS"
  57. 2100 LONGCALR$="LONGCALR"
  58. 2200 R$="LASTCALR"
  59. 2300 HELP01$="HELP01"
  60. 2400 HELP02$="HELP02"
  61. 2500 HELP03$="HELP03"
  62. 2600 HELP04$="HELP04"
  63. 2700 HELP05$="HELP05"
  64. 2800 HELP06$="HELP06"
  65. 2900 HELP07$="HELP07"
  66. 3000 BULLETIN$="BULLETIN"
  67. 3100 BULLET1$="BULLET1"
  68. 3200 BULLET2$="BULLET2"
  69. 3300 BULLET3$="BULLET3"
  70. 3400 BULLET4$="BULLET4"
  71. 3500 BULLET5$="BULLET5"
  72. 3600 BULLET6$="BULLET6"
  73. 3700 WELCOME$="WELCOME"
  74. 3800 NEWUSER$="NEWUSER"
  75. 3900 DIR$="DIR"
  76. 4000 OPEN "I",#1,CONFIG$
  77. 4100 INPUT #1,FDEV$,RDEV$,PASS1$,PASS2$,NFIR$,NLAS$,CBACK,ANNOY.ON,ANNOY.OFF,TIME.MAX!,MESSAGE.MAX,LAPSE.MAX,LPRT,XPR,B,BELL,PRT,COMPILED
  78. 4200 CLOSE #1
  79. 4300 IF NEWFILE<>0 THEN GOTO 6100
  80. 4400 NFIR$="TOM"
  81. 4500 NLAS$="MACK"
  82. 4600 PASS1$="RBBS-PC"
  83. 4700 PASS2$="CPC11"
  84. 4800 XPR=0
  85. 4900 CBACK=0
  86. 5000 FDEV$="ABB"
  87. 5100 RDEV$="A"
  88. 5200 LPRT=TRUE
  89. 5300 BELL=0
  90. 5400 PRT=TRUE
  91. 5500 TIME.MAX!=72
  92. 5600 MESSAGE.MAX=250
  93. 5700 LAPSE.MAX=1
  94. 5800 ANNOY.ON=800
  95. 5900 ANNOY.OFF=2200
  96. 5950 COMPILED=FALSE
  97. 6000 B=1
  98. 6100 ' RBBS-PC Configuration Program for Compilable RBBS-PC
  99. 6200 IF XPR=0 THEN M5$="NOVICE"
  100. 6300 IF XPR=-1 THEN M5$="EXPERT"
  101. 6400 M6$=RIGHT$(FDEV$,1)
  102. 6500 M7$=LEFT$(FDEV$,(LEN(FDEV$)-1))
  103. 6600 IF LPRT=TRUE THEN M9$="ON"
  104. 6700 IF LPRT=FALSE THEN M9$="OFF"
  105. 6800 IF BELL=0 THEN M10$="OFF"
  106. 6900 IF BELL=-1 THEN M10$="ON"
  107. 7000 IF PRT=TRUE THEN M11$="YES"
  108. 7100 IF PRT=FALSE THEN M11$="NO"
  109. 7110 IF COMPILED=TRUE THEN M12$="COMPILED"
  110. 7120 IF COMPILED=FALSE THEN M12$="BASICA"
  111. 7200 Y$=""
  112. 7300 KEY OFF
  113. 7400 FOR I=1 TO 10:KEY I,"  ":NEXT
  114. 7500 COLOR 7,0:CLS
  115. 7600 COLOR 0,7:LOCATE 3,22:PRINT"RBBS-PC CPC11 CONFIGURATION PROGRAM":COLOR 7,0:PRINT
  116. 7700 LOCATE 7,17,0:PRINT "(C) COPYRIGHT 1983 CAPITAL PC USER GROUP, INC.":PRINT
  117. 7800 LOCATE 25,27:PRINT"Press Enter to continue...";
  118. 7900 Y$=INKEY$
  119. 8000 IF Y$=CHR$(13) THEN 8200
  120. 8100 GOTO 7900
  121. 8200 CLS:COLOR 0,7:LOCATE 1,23:PRINT"RBBS-PC CPC11 Default Configuration";:COLOR 7,0
  122. 8300 LOCATE  3,10:PRINT" 1. SYSOP's First Name --------------------------- "+NFIR$
  123. 8400 LOCATE  4,10:PRINT" 2. SYSOP's Last Name ---------------------------- "+NLAS$
  124. 8500 LOCATE  5,10:PRINT" 3. SYSOP's Password # 1 ------------------------- "+PASS1$
  125. 8600 LOCATE  6,10:PRINT" 4. SYSOP's Password # 2 ------------------------- "+PASS2$
  126. 8700 LOCATE  7,10:PRINT" 5. SYSOP's default sign-on mode ----------------- "+M5$
  127. 8800 LOCATE  8,10:PRINT" 6. SYSOP's office hours ------------------------ "STR$(ANNOY.ON);" to "STR$(ANNOY.OFF)
  128. 8900 LOCATE  9,10:PRINT" 7. Ring-back count set at -----------------------"STR$(CBACK)
  129. 9000 LOCATE 10,10:PRINT" 8. Drive available for Uploading ---------------- "+M6$
  130. 9100 LOCATE 11,10:PRINT" 9. Drive(s) available for Downloading ----------- "+M7$
  131. 9200 LOCATE 12,10:PRINT"10. Drive with RBBS-PC system files -------------- "+RDEV$
  132. 9300 LOCATE 13,10:PRINT"11. Local printer default is --------------------- "+M9$
  133. 9400 LOCATE 14,10:PRINT"12. Prompt bell default is ----------------------- "+M10$
  134. 9500 LOCATE 15,10:PRINT"13. Maximum time on system (in minutes) ----------"STR$(TIME.MAX!)
  135. 9600 LOCATE 16,10:PRINT"14. Maximum number of messages allowed -----------"STR$(MESSAGE.MAX)
  136. 9700 LOCATE 17,10:PRINT"15. # Months of inactivty before user deleted ----"STR$(LAPSE.MAX)
  137. 9800 LOCATE 18,10:PRINT"16. # Of System Bulletins ------------------------"STR$(B)
  138. 9900 LOCATE 19,10:PRINT"17. Display user sessions on screen (SNOOP) ------ "+M11$
  139. 9950 LOCATE 20,10:PRINT"18. Execution type (COMPILED/BASICA) ------------- "+M12$
  140. 10000 LOCATE 22,5:PRINT"Select number of configuration parameter to change (99 to update): ":LOCATE 22,71:PRINT STRING$(10,32)
  141. 10100 COLOR 17,0:LOCATE 22,70:PRINT"  ":GOSUB 29100
  142. 10200 LOCATE 22,70
  143. 10300 COLOR 7,0
  144. 10400 LINE INPUT;HJ$:IF HJ$="" THEN GOTO 10200
  145. 10500 LOCATE 22,5:PRINT STRING$(75,32)
  146. 10600 IF HJ$="1"THEN GOTO 12700
  147. 10700 IF HJ$="2" THEN GOTO 13400
  148. 10800 IF HJ$="3" THEN GOTO 14100
  149. 10900 IF HJ$="4" THEN GOTO 14800
  150. 11000 IF HJ$="5" THEN GOTO 15500
  151. 11100 IF HJ$="6" THEN GOTO 16200
  152. 11200 IF HJ$="7" THEN GOTO 17600
  153. 11300 IF HJ$="8" THEN GOTO 18100
  154. 11400 IF HJ$="9" THEN GOTO 18800
  155. 11500 IF HJ$="10" THEN GOTO 20000
  156. 11600 IF HJ$="11" THEN GOTO 20700
  157. 11700 IF HJ$="12" THEN GOTO 21600
  158. 11800 IF HJ$="13" THEN GOTO 22500
  159. 11900 IF HJ$="14" THEN GOTO 23000
  160. 12000 IF HJ$="15" THEN GOTO 23500
  161. 12100 IF HJ$="16" THEN GOTO 24000
  162. 12200 IF HJ$="17" THEN GOTO 24500
  163. 12250 IF HJ$="18" THEN GOTO 25310
  164. 12300 IF HJ$="99" THEN GOTO 25400
  165. 12400 GOTO 10000
  166. 12500 LOCATE 22,5:PRINT HJ$+" not supported at this time.  Please try again."
  167. 12600 GOTO 10000
  168. 12700 LOCATE 22,5:PRINT"What is the SYSOP's FIRST name? ";
  169. 12800 LINE INPUT;HJ$
  170. 12900 IF HJ$="" THEN GOTO 12700
  171. 13000 IF LEN(HJ$)<3 GOTO 12700
  172. 13100 GOSUB 29200
  173. 13200 NFIR$=HJ$
  174. 13300 GOTO 8200
  175. 13400 LOCATE 22,5:PRINT"What is the SYSOP's LAST name? ";
  176. 13500 LINE INPUT;HJ$
  177. 13600 IF HJ$="" THEN GOTO 13400
  178. 13700 IF LEN(HJ$)<3 GOTO 13400
  179. 13800 GOSUB 29200
  180. 13900 NLAS$=HJ$
  181. 14000 GOTO 8200
  182. 14100 LOCATE 22,5:PRINT"What is the SYSOP's Password #1? ";
  183. 14200 LINE INPUT;HJ$
  184. 14300 IF HJ$="" THEN GOTO 14100
  185. 14400 IF LEN(HJ$)<3 GOTO 14100
  186. 14500 GOSUB 29200
  187. 14600 PASS1$=HJ$
  188. 14700 GOTO 8200
  189. 14800 LOCATE 22,5:PRINT"What is the SYSOP's Password #2? ";
  190. 14900 LINE INPUT;HJ$
  191. 15000 IF HJ$="" THEN GOTO 14800
  192. 15100 IF LEN(HJ$)<3 GOTO 14800
  193. 15200 GOSUB 29200
  194. 15300 PASS2$=HJ$
  195. 15400 GOTO 8200
  196. 15500 LOCATE 22,5:PRINT"SYSOP's default sign-on mode (EXPERT/NOVICE)? ";
  197. 15600 LINE INPUT;HJ$
  198. 15700 IF LEN(HJ$)=6 OR LEN(HJ$)=1 THEN GOTO 15800 ELSE GOTO 15500
  199. 15800 GOSUB 29200
  200. 15900 IF HJ$="E" OR HJ$="EXPERT" THEN M5$="EXPERT":GOTO 8200
  201. 16000 IF HJ$="N" OR HJ$="NOVICE" THEN M5$="NOVICE":GOTO 8200
  202. 16100 GOTO 15500
  203. 16200 LOCATE 22,5:PRINT"What is the earliest SYSOP wants to be paged? -- HHMM ";
  204. 16300 LINE INPUT;HJ$
  205. 16400 IF LEN(HJ$)<>4 GOTO 16200
  206. 16500 IF FIX(VAL(MID$(HJ$,1,2)))<0 OR FIX(VAL(MID$(HJ$,1,2)))>24 OR FIX(VAL(MID$(HJ$,3,2)))<0 OR FIX(VAL(MID$(HJ$,3,2)))>59 THEN GOTO 16200
  207. 16600 ANNOY.ON=VAL(HJ$)
  208. 16700 IF ANNOY.ON<0 OR IN!>2400 THEN GOTO 16200
  209. 16800 LOCATE 23,5:PRINT"What is the latest SYSOP wants to be paged? ---- HHMM ";
  210. 16900 LINE INPUT;HJ$
  211. 17000 IF LEN(HJ$)<>4 GOTO 16800
  212. 17100 IF FIX(VAL(MID$(HJ$,1,2)))<0 OR FIX(VAL(MID$(HJ$,1,2)))>24 OR FIX(VAL(MID$(HJ$,3,2)))<0 OR FIX(VAL(MID$(HJ$,3,2)))>59 THEN GOTO 16800
  213. 17200 ANNOY.OFF=VAL(HJ$)
  214. 17300 IF ANNOY.OFF<0 OR ANNOY.OFF>2400 THEN GOTO 16800
  215. 17400 IF ANNOY.ON>ANNOY.OFF THEN SWAP ANNOY.ON,ANNOY.OFF
  216. 17500 GOTO 8200
  217. 17600 LOCATE 22,5:PRINT"Set number of rings to ring-back on voice grade line ";
  218. 17700 LINE INPUT;HJ$
  219. 17800 CBACK=FIX(VAL(HJ$))
  220. 17900 IF CBACK<0 OR CBACK>99 THEN GOTO 17600
  221. 18000 GOTO 8200
  222. 18100 LOCATE 22,5:PRINT"Specify single drive in the range A->E for uploading. ";
  223. 18200 LINE INPUT;HJ$
  224. 18300 IF LEN(HJ$)<>1 THEN GOTO 18100
  225. 18400 GOSUB 29200
  226. 18500 IF HJ$<"A" OR HJ$>"E" THEN GOTO 18100
  227. 18600 M6$=HJ$
  228. 18700 GOTO 8200
  229. 18800 LOCATE 22,5:PRINT"Specify drives (max of 5) in the range A-E for download files. ";
  230. 18900 LINE INPUT;HJ$
  231. 19000 IF LEN(HJ$)<1 OR LEN(HJ$)>5 THEN GOTO 18800
  232. 19100 GOSUB 29200
  233. 19200 FOR I=1 TO LEN(HJ$)
  234. 19300 A$(I)=MID$(HJ$,I,1)
  235. 19400 NEXT
  236. 19500 FOR I=1 TO LEN(HJ$)
  237. 19600 IF A$(I)<"A" OR A$(I)>"E" THEN GOTO 18800
  238. 19700 NEXT
  239. 19800 M7$=HJ$
  240. 19900 GOTO 8200
  241. 20000 LOCATE 22,5:PRINT"Specify drive in the range A->E where system files will be located. ";
  242. 20100 LINE INPUT;HJ$
  243. 20200 IF LEN(HJ$)<>1 THEN GOTO 20000
  244. 20300 GOSUB 29200
  245. 20400 IF HJ$<"A" OR HJ$>"E" THEN GOTO 20000
  246. 20500 RDEV$=HJ$
  247. 20600 GOTO 8200
  248. 20700 LOCATE 22,5:PRINT"Local printer default? (ON or OFF) ";
  249. 20800 LINE INPUT;HJ$
  250. 20900 IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 20700
  251. 21000 GOSUB 29200
  252. 21100 IF HJ$="ON" THEN GOTO 21400
  253. 21200 IF HJ$="OFF" THEN GOTO 21400
  254. 21300 GOTO 20700
  255. 21400 M9$=HJ$
  256. 21500 GOTO 8200
  257. 21600 LOCATE 22,5:PRINT"Prompt bell default? (ON or OFF) ";
  258. 21700 LINE INPUT;HJ$
  259. 21800 IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 21600
  260. 21900 GOSUB 29200
  261. 22000 IF HJ$="ON" THEN GOTO 22300
  262. 22100 IF HJ$="OFF" THEN GOTO 22300
  263. 22200 GOTO 21600
  264. 22300 M10$=HJ$
  265. 22400 GOTO 8200
  266. 22500 LOCATE 22,5:PRINT"Set maximum minutes a user can stay on the system ";
  267. 22600 LINE INPUT;HJ$
  268. 22700 TIME.MAX!=VAL(HJ$)
  269. 22800 IF TIME.MAX!<0 OR TIME.MAX!>1440 THEN GOTO 22500
  270. 22900 GOTO 8200
  271. 23000 LOCATE 22,5:PRINT"Set maximum number of messages allowed (MAX=250) ";
  272. 23100 LINE INPUT;HJ$
  273. 23200 MESSAGE.MAX=VAL(HJ$)
  274. 23300 IF MESSAGE.MAX<1 OR MESSAGE.MAX>250 THEN GOTO 23000
  275. 23400 GOTO 8200
  276. 23500 LOCATE 22,5:PRINT"Set number of months before an inactive user is purged. ";
  277. 23600 LINE INPUT;HJ$
  278. 23700 LAPSE.MAX=VAL(HJ$)
  279. 23800 IF LAPSE.MAX<1 OR LAPSE.MAX>12 THEN GOTO 23500
  280. 23900 GOTO 8200
  281. 24000 LOCATE 22,5:PRINT"How many system bulletins are available? (MAX=6) ";
  282. 24100 LINE INPUT;HJ$
  283. 24200 B=VAL(HJ$)
  284. 24300 IF B<0 OR B>6 THEN GOTO 24000
  285. 24400 GOTO 8200
  286. 24500 LOCATE 22,5:PRINT"Display user sessions on the screen? (YES or NO) ";
  287. 24600 LINE INPUT;HJ$
  288. 24700 IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 24500
  289. 24800 GOSUB 29200
  290. 24900 IF HJ$="NO" THEN GOTO 25200
  291. 25000 IF HJ$="YES" THEN GOTO 25200
  292. 25100 GOTO 24500
  293. 25200 M11$=HJ$
  294. 25300 GOTO 8200
  295. 25310 LOCATE 22,5:PRINT"Execution type (COMPILED OR BASICA)? ";
  296. 25320 LINE INPUT;HJ$
  297. 25330 IF LEN(HJ$)<1 OR LEN(HJ$)>8 THEN GOTO 24500
  298. 25340 GOSUB 29200
  299. 25350 IF HJ$="COMPILED" THEN GOTO 25380
  300. 25360 IF HJ$="BASICA" THEN GOTO 25380
  301. 25370 GOTO 24500
  302. 25380 M12$=HJ$
  303. 25390 GOTO 8200
  304. 25400 LOCATE 22,5:PRINT"Are you Satisfied with all Changes ? (Y/N) or <Q)uit ";
  305. 25500 LINE INPUT;HJ$
  306. 25600 IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 25400
  307. 25700 GOSUB 29200
  308. 25800 IF HJ$="NO" THEN GOTO 8200
  309. 25805 IF HJ$="N" THEN GOTO 8200
  310. 25900 IF HJ$="YES" THEN GOTO 26100
  311. 25905 IF HJ$="Y" THEN GOTO 26100
  312. 25906 IF HJ$="QUIT" THEN GOTO 29000
  313. 25907 IF HJ$="Q" THEN GOTO 29000
  314. 26000 GOTO 25400
  315. 26100 IF M5$="NOVICE" THEN XPR=0
  316. 26200 IF M5$="EXPERT" THEN XPR=-1
  317. 26300 FDEV$=M7$+M6$
  318. 26400 IF M9$="ON" THEN LPRT=TRUE
  319. 26500 IF M9$="OFF" THEN LPRT=FALSE
  320. 26600 IF M10$="OFF" THEN BELL=0
  321. 26700 IF M10$="ON" THEN BELL=-1
  322. 26800 IF M11$="YES" THEN PRT=TRUE
  323. 26900 IF M11$="NO" THEN PRT=FALSE
  324. 26910 IF M12$="COMPILED" THEN COMPILED=TRUE
  325. 26920 IF M12$="BASICA" THEN COMPILED=FALSE
  326. 27000 OPEN "O",#1,CONFIG$
  327. 27100 IF INSTR(RDEV$,":")<1 THEN RDEV$=RDEV$+":"
  328. 27200 WRITE #1,FDEV$,RDEV$,PASS1$,PASS2$,NFIR$,NLAS$,CBACK,ANNOY.ON,ANNOY.OFF,TIME.MAX!,MESSAGE.MAX,LAPSE.MAX,LPRT,XPR,B,BELL,PRT,COMPILED
  329. 27300 WRITE #1,MESSAGES$,MESSAGES.BAK$,CALLERS$,COMMENTS$,USERS$,LONGCALR$,R$,WELCOME$,NEWUSER$,DIR$
  330. 27400 WRITE #1,HELP01$,HELP02$,HELP03$,HELP04$,HELP05$,HELP06$,HELP07$,BULLETIN$,BULLET1$,BULLET2$,BULLET3$,BULLET4$,BULLET5$,BULLET6$
  331. 27500 CLOSE #1
  332. 27600 CLS:LOCATE 12,1,1:PRINT "RBBS-PC configuration description file, RBBS-PC.DEF, now on default drive."
  333. 27700 GOTO 28800
  334. 27800 REM
  335. 27900 REM * HANDLE ERROR CONDITIONS *
  336. 28000 IF ERR=53 THEN PRINT CONFIG$+" file not found.  A new one will be created.":IWAIT!=FNTI!+5:GOSUB 29700:NEWFILE=NEWFILE+1:GOTO 4200
  337. 28100 IF ERR=62 AND ERL=4100 THEN NEWFILE=0:GOTO 4200
  338. 28200 IF ERR=61 THEN PRINT "ERROR - IBM DOS DISKETTE FULL ":GOTO 28800
  339. 28300 IF ERR=67 THEN PRINT "ERROR - IBM DOS DIRECTORY FULL":GOTO 28800
  340. 28400 IF ERR=70 THEN PRINT "DISKETTE IN DRIVE IS WRITE PROTECTED":GOTO 28800
  341. 28500 IF ERR=71 THEN PRINT "DRIVE DOOR OPEN OR MISSING DISKETTE":GOTO 28800
  342. 28600 IF ERR=72 THEN PRINT "ERROR - UNFORMATTED IBM DOS DISKETTE IN DRIVE":GOTO 28800
  343. 28700 PRINT "+++ Error";ERR;" in line ";ERL "occurred at " TIME$ " on " DATE$
  344. 28800 IWAIT!=FNTI!+5
  345. 28900 GOSUB 29700
  346. 29000 SYSTEM
  347. 29100 FOR WQ=1 TO 3:SOUND 1000*WQ,1:NEXT:RETURN
  348. 29200 ' Convert Lower Case to Upper Case -------
  349. 29300 FOR Z=1 TO LEN(HJ$)
  350. 29400 MID$(HJ$,Z,1)=CHR$(ASC(MID$(HJ$,Z,1))+32*(ASC(MID$(HJ$,Z,1))>96))
  351. 29500 NEXT Z
  352. 29600 RETURN
  353. 29700 ' wait routine
  354. 29800 IF FNTI!<IWAIT! THEN GOTO 29800
  355. 29900 RETURN
  356.